/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.actions.dispositivos;

import com.mapping.Departamento;
import com.mapping.Dispositivo;
import com.opensymphony.xwork2.ActionSupport;
import static com.opensymphony.xwork2.Action.SUCCESS;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.NoResultException;
import javax.persistence.Persistence;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
/**
 *
 * @author Andres
 */
@Namespace(value = "/")
@Action(value = "modificarDispositivo", results = {@Result(name = "success", location = "/GestionDispositivos/rModificarDispositivo.jsp"),
                                              @Result(name = "error",location="/GestionDispositivos/eModificarDispositivo.jsp")})
public class ModificarDispositivoAction extends ActionSupport{
    private String noserie;
    private String departamento;
    private String localizacion;
    private String estado;
    private String error;
    private String idDisp;
    @Override
    public String execute(){
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("inventarios");
        EntityManager em = emf.createEntityManager();
        EntityTransaction tx = em.getTransaction();
        tx.begin();
        Dispositivo disp = (Dispositivo) em.getReference(Dispositivo.class,idDisp);
        disp.setNoserie(noserie);
        disp.setLocalizacion(localizacion);
        disp.setEstado(estado);
        Departamento depa = (Departamento) em.getReference(Departamento.class, departamento);
        List<Departamento> depaList = new ArrayList<Departamento>();
        depaList.add(depa);    
        disp.setDepartamentoCollection(depaList);
        em.flush();
        tx.commit();
        em.close();
        return SUCCESS;
    }

    public void setNoserie(String noserie) {
        this.noserie = noserie;
    }

    public void setDepartamento(String departamento) {
        this.departamento = departamento;
    }

    public void setLocalizacion(String localizacion) {
        this.localizacion = localizacion;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public void setIdDisp(String idDisp) {
        this.idDisp = idDisp;
    }
    
}
